home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-03 / menuman.zip / MENU1-9.BAS < prev    next >
BASIC Source File  |  1992-04-06  |  19KB  |  624 lines

  1. ' MENUMAN program for menu making with numbers
  2. DECLARE SUB Boxstuff ()
  3. DECLARE SUB Directions ()
  4. DECLARE SUB Disksave ()
  5. DECLARE SUB Killer ()
  6. DECLARE SUB Labeler ()
  7. DECLARE SUB Lines1 ()
  8. DECLARE SUB Lines2 ()
  9. DECLARE SUB Lines3 ()
  10. DECLARE SUB Lines4 ()
  11. DECLARE SUB Lines5 ()
  12. DECLARE SUB Lines6 ()
  13. DECLARE SUB Lines7 ()
  14. DECLARE SUB Lines8 ()
  15. DECLARE SUB Menulines ()
  16. DECLARE SUB Namer ()
  17. DECLARE SUB NumberDo ()
  18. DECLARE SUB Opener ()
  19. DECLARE SUB Save1 ()
  20. DECLARE SUB Save2 ()
  21. DECLARE SUB Save3 ()
  22. DECLARE SUB Save4 ()
  23. DECLARE SUB Save5 ()
  24. DECLARE SUB Save6 ()
  25. DECLARE SUB Save7 ()
  26. DECLARE SUB Save8 ()
  27. DECLARE SUB TopLine ()
  28. DECLARE FUNCTION Handler ()
  29.  
  30.  
  31.  
  32.  
  33.  
  34. DIM sign$(16)
  35.  
  36. CLS
  37. sign$(1) = STRING$(80, 223)
  38. sign$(2) = "  ╔═══╗    ╔═══╗"
  39. sign$(3) = "  ║   ║    ║   ║"
  40. sign$(4) = "  ║   ║    ║   ║"
  41. sign$(5) = "  ║   ║    ║   ║"
  42. sign$(6) = "  ║   ║    ║   ║"
  43. sign$(7) = "  ║   ║    ║   ║"
  44. sign$(8) = "  ║   ╚════╝   ║"
  45. sign$(9) = "  ║            ║ ╔══════ ╔═╗       ║ ║       ║ ╔══╗  ╔══╗  ╔════╗ ╔═╗       ║"
  46. sign$(10) = "  ║            ║ ║       ║ ╚═╗     ║ ║       ║ ║  ║  ║  ║  ║    ║ ║ ╚═╗     ║"
  47. sign$(11) = "  ║            ║ ║       ║   ╚═╗   ║ ║       ║ ║  ╚══╝  ║  ║    ║ ║   ╚═╗   ║"
  48. sign$(12) = "  ║            ║ ║════   ║     ╚═╗ ║ ║       ║ ║        ║  ║════║ ║     ╚═╗ ║"
  49. sign$(13) = "  ║            ║ ║       ║       ╚═║ ║       ║ ║        ║  ║    ║ ║       ╚═║"
  50. sign$(14) = "  ║            ║ ║       ║         ║ ║       ║ ║        ║  ║    ║ ║         ║"
  51. sign$(15) = "  ║            ║ ╚══════ ║         ║ ╚═══════╝ ║        ║  ║    ║ ║         ║"
  52. sign$(16) = STRING$(80, 220)
  53.  
  54. FOR SET = 1 TO 16
  55.       LOCATE SET + 3, 1: PRINT sign$(SET)
  56. NEXT
  57.  
  58. LOCATE 7, 30: COLOR 0, 15: PRINT "     S E L E C T I O N  B Y  N U M B E R S     ": COLOR 15, 0
  59.  
  60. SLEEP 20
  61.  
  62. Opener
  63.  
  64. Handler:
  65.  
  66. SELECT CASE ERR
  67. CASE 53
  68. OPEN "TESTMENU.BAS" FOR APPEND AS #1
  69. CLOSE #1
  70. Opener
  71.  
  72. CASE ELSE
  73. ON ERROR GOTO 0
  74. END SELECT
  75.  
  76. SUB Boxstuff
  77. Top:
  78. CLS
  79. PRINT "╔"; STRING$(78, 205); "╗"
  80. PRINT "║"; SPACE$(78); "║"
  81. PRINT "╚"; STRING$(78, 205); "╝"
  82. LOCATE 2, 25: COLOR 15, 0: PRINT "M E N U M A N  B O X  S T Y L E S": COLOR 10, 0
  83. REDIM Open$(16)
  84. Open$(1) = "╔════════════╗   ▄▄▄▄▄▄▄▄▄▄▄▄▄▄                    ÖÖÖÖÖÖÖÖÖÖÖÖÖÖ"
  85. Open$(2) = "║            ║   █            █                    Ö            Ö"
  86. Open$(3) = "║            ║   █            █                    Ö            Ö"
  87. Open$(4) = "║            ║   █            █                    Ö            Ö"
  88. Open$(5) = "║            ║   █            █                    Ö            Ö"
  89. Open$(6) = "║            ║   █            █                    Ö            Ö"
  90. Open$(7) = "╚════════════╝   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀                    ÖÖÖÖÖÖÖÖÖÖÖÖÖÖ"
  91. Open$(8) = STRING$(80, 32)
  92. Open$(9) = STRING$(80, 32)
  93. Open$(10) = "ÇÇÇÇÇÇÇÇÇÇÇÇÇÇ   ??????????????    /////////////   ##############"
  94. Open$(11) = "Ç            Ç   ?            ¿   /            \   #            #"
  95. Open$(12) = "Ç            Ç   ?            ¿   /            \   #            #"
  96. Open$(13) = "Ç            Ç   ?            ¿   /            \   #            #"
  97. Open$(14) = "Ç            Ç   ?            ¿   /            \   #            #"
  98. Open$(15) = "Ç            Ç   ?            ¿   /            \   #            #"
  99. Open$(16) = "ÇÇÇÇÇÇÇÇÇÇÇÇÇÇ   ¿¿¿¿¿¿¿¿¿¿¿¿¿¿   \\\\\\\\\\\\\\\  ##############"
  100.  
  101. FOR SET = 1 TO 16
  102.         LOCATE SET + 4, 8: PRINT Open$(SET)
  103. NEXT
  104.  
  105. LOCATE 5, 42: PRINT STRING$(14, 15)
  106. FOR BOX = 3 TO 7
  107.         LOCATE BOX + 3, 42: PRINT CHR$(15); SPACE$(12); CHR$(15)
  108. NEXT
  109. LOCATE 11, 42: PRINT STRING$(14, 15)
  110.  
  111. LOCATE 8, 11: COLOR 0, 15: PRINT " BOX A "
  112. LOCATE 8, 28: PRINT " BOX B "
  113. LOCATE 8, 45: PRINT " BOX C "
  114. LOCATE 8, 62: PRINT " BOX D "
  115. LOCATE 17, 11: PRINT " BOX E "
  116. LOCATE 17, 28: PRINT " BOX F "
  117. LOCATE 17, 45: PRINT " BOX G "
  118. LOCATE 17, 62: PRINT " BOX H ": COLOR 15, 0
  119.  
  120. LOCATE 23, 20: COLOR 15, 0: PRINT "CHOOSE A BOX BY PRESSING ITS LETTER": COLOR 10, 0
  121.  
  122. DO: Choice$ = INKEY$
  123. LOOP WHILE Choice$ = ""
  124. Choice$ = UCASE$(Choice$)
  125. LOCATE 23, 20: PRINT SPACE$(60)
  126. LOCATE 23, 30: COLOR 0, 15: PRINT "  BOX  "; UCASE$(Choice$); " CHOSEN  ": COLOR 15, 0
  127. SELECT CASE ASC(Choice$)
  128. CASE 65: Save1
  129. CASE 66: Save2
  130. CASE 67: Save3
  131. CASE 68: Save4
  132. CASE 69: Save5
  133. CASE 70: Save6
  134. CASE 71: Save7
  135. CASE 72: Save8
  136. CASE ELSE
  137. LOCATE 23, 20: PRINT SPACE$(60)
  138. LOCATE 23, 20: COLOR 0, 15: PRINT "  NOT A LETTER FROM A TO H -- TRY AGAIN  ": COLOR 15, 0
  139. SLEEP 5
  140. GOTO Top
  141. END SELECT
  142. END SUB
  143.  
  144. SUB Directions
  145. CLS
  146. DIM AD$(17)
  147. LOCATE 2, 20: PRINT STRING$(40, 15)
  148. FOR SIDE = 3 TO 21
  149. LOCATE SIDE, 20: PRINT CHR$(15); SPACE$(38); CHR$(15)
  150. NEXT
  151. LOCATE 22, 20: PRINT STRING$(40, 15)
  152.  
  153. AD$(1) = "     Thanks for using MENUMAN"
  154. AD$(2) = STRING$(35, 32)
  155. AD$(3) = "If MENUMAN has been useful to you,"
  156. AD$(4) = "please send $10 in check or money"
  157. AD$(5) = "order to this address:"
  158. AD$(6) = "     Carmen Paone"
  159. AD$(7) = "     1525 Locust St."
  160. AD$(8) = "     Reading, Pa."
  161. AD$(9) = "     19604"
  162. AD$(10) = STRING$(35, 32)
  163. AD$(11) = "Please specify the size disk _ "
  164. AD$(12) = "5.25  or 3.5 _ you would like."
  165. AD$(13) = "Registered users of MENUMAN"
  166. AD$(14) = "will receive updates free"
  167. AD$(15) = "of charge. Planned updates:"
  168. AD$(16) = "bounce-bar menus, Lotus-type"
  169. AD$(17) = "menus, F-Key menus and others."
  170.  
  171. FOR SET = 1 TO 17
  172.         LOCATE SET + 3, 23: COLOR 15, 0: PRINT AD$(SET): COLOR 7, 0
  173. NEXT
  174. SLEEP 30
  175. CLS
  176. SYSTEM
  177. END SUB
  178.  
  179. SUB Disksave
  180. OPEN "TESTMENU.BAS" FOR APPEND AS #1
  181. END SUB
  182.  
  183. SUB Killer
  184. ON ERROR GOTO Handler
  185. KILL "TESTMENU.BAS"
  186. LOCATE 15, 27: COLOR 0, 15: PRINT "  TESTMENU.BAS KILLED  ": COLOR 15, 0
  187. SLEEP 10
  188. Boxstuff
  189. END SUB
  190.  
  191. SUB Labeler
  192. CLS
  193. LOCATE 3, 20: PRINT "TITLE FOR MENU (20 CHARACTERS)"
  194. LOCATE 5, 39: COLOR 0, 15: PRINT " LIMIT ": COLOR 15, 0
  195. LOCATE 5, 20: LINE INPUT ""; title$
  196. Disksave
  197. PRINT #1, "I = (62 - LEN(title$)) / 2"
  198. PRINT #1, "LOCATE 4, 22: COLOR 15, 0: PRINT TAB(I);"; CHR$(34); title$; CHR$(34); ": COLOR 7, 0"
  199. CLOSE #1
  200. Menulines
  201. END SUB
  202.  
  203. SUB Lines1
  204. DIM item$(2)
  205. TopLine
  206. LOCATE 11, 20: LINE INPUT " ≤ 1 ≥           "; item$(1)
  207. LOCATE 12, 20: LINE INPUT " ≤ 2 ≥           "; item$(2)
  208. Disksave
  209. PRINT #1, "DIM Menu$(2)"
  210. PRINT #1, "Menu$(1) = "; CHR$(34); "≤ 1 ≥  "; item$(1); CHR$(34)
  211. PRINT #1, "Menu$(2) = "; CHR$(34); "≤ 2 ≥  "; item$(2); CHR$(34)
  212. PRINT #1, "X = (56 - LEN(Menu$)) / 2"
  213. PRINT #1, "FOR SET = 1 TO 2"
  214. PRINT #1, "LOCATE SET + 8, 22: COLOR 15, 0: PRINT TAB(X); Menu$(SET): COLOR 7, 0"
  215. PRINT #1, "NEXT"
  216. NumberDo
  217. FOR number% = 1 TO 2
  218. PRINT #1, "CASE "; CHR$(34); LTRIM$(STR$(number%)); CHR$(34); ":"
  219. NEXT
  220. PRINT #1, "END SELECT"
  221. CLOSE #1
  222. Opener
  223. END SUB
  224.  
  225. SUB Lines2
  226. DIM item$(3)
  227. TopLine
  228. LOCATE 11, 20: LINE INPUT " ≤ 1 ≥          "; item$(1)
  229. LOCATE 12, 20: LINE INPUT " ≤ 2 ≥          "; item$(2)
  230. LOCATE 13, 20: LINE INPUT " ≤ 3 ≥          "; item$(3)
  231. Disksave
  232. PRINT #1, "DIM Menu$(3)"
  233. PRINT #1, "Menu$(1) = "; CHR$(34); "≤ 1 ≥  "; item$(1); CHR$(34)
  234. PRINT #1, "Menu$(2) = "; CHR$(34); "≤ 2 ≥  "; item$(2); CHR$(34)
  235. PRINT #1, "Menu$(3) = "; CHR$(34); "≤ 3 ≥  "; item$(3); CHR$(34)
  236. PRINT #1, "X = (56 - LEN(Menu$)) / 2"
  237. PRINT #1, "FOR SET = 1 TO 3"
  238. PRINT #1, "LOCATE SET + 8, 22: COLOR 15, 0: PRINT TAB (X); Menu$(SET): COLOR 7, 0"
  239. PRINT #1, "NEXT"
  240. NumberDo
  241. FOR number% = 1 TO 3
  242. PRINT #1, "CASE "; CHR$(34); LTRIM$(STR$(number%)); CHR$(34); ":"
  243. NEXT
  244. PRINT #1, "END SELECT"
  245. CLOSE #1
  246. Opener
  247.  
  248. END SUB
  249.  
  250. SUB Lines3
  251. DIM item$(4)
  252. TopLine
  253. LOCATE 11, 20: LINE INPUT " ≤ 1 ≥          "; item$(1)
  254. LOCATE 12, 20: LINE INPUT " ≤ 2 ≥          "; item$(2)
  255. LOCATE 13, 20: LINE INPUT " ≤ 3 ≥          "; item$(3)
  256. LOCATE 14, 20: LINE INPUT " ≤ 4 ≥          "; item$(4)
  257. Disksave
  258. PRINT #1, "DIM Menu$(4)"
  259. PRINT #1, "Menu$(1) = "; CHR$(34); "≤ 1 ≥  "; item$(1); CHR$(34)
  260. PRINT #1, "Menu$(2) = "; CHR$(34); "≤ 2 ≥  "; item$(2); CHR$(34)
  261. PRINT #1, "Menu$(3) = "; CHR$(34); "≤ 3 ≥  "; item$(3); CHR$(34)
  262. PRINT #1, "Menu$(4) = "; CHR$(34); "≤ 4 ≥  "; item$(4); CHR$(34)
  263. PRINT #1, "X = (56 - LEN(Menu$)) / 2"
  264. PRINT #1, "FOR SET = 1 TO 4"
  265. PRINT #1, "LOCATE SET + 8, 22: COLOR 15, 0: PRINT TAB(X); Menu$(SET): COLOR 7, 0"
  266. PRINT #1, "NEXT"
  267. NumberDo
  268. FOR number% = 1 TO 4
  269. PRINT #1, "CASE "; CHR$(34); LTRIM$(STR$(number%)); CHR$(34); ":"
  270. NEXT
  271. PRINT #1, "END SELECT"
  272. CLOSE #1
  273. Opener
  274.  
  275. END SUB
  276.  
  277. SUB Lines4
  278. DIM item$(5)
  279. TopLine
  280. LOCATE 11, 20: LINE INPUT " ≤ 1 ≥          "; item$(1)
  281. LOCATE 12, 20: LINE INPUT " ≤ 2 ≥          "; item$(2)
  282. LOCATE 13, 20: LINE INPUT " ≤ 3 ≥          "; item$(3)
  283. LOCATE 14, 20: LINE INPUT " ≤ 4 ≥          "; item$(4)
  284. LOCATE 15, 20: LINE INPUT " ≤ 5 ≥          "; item$(5)
  285. Disksave
  286. PRINT #1, "DIM Menu$(5)"
  287. PRINT #1, "Menu$(1) = "; CHR$(34); "≤ 1 ≥  "; item$(1); CHR$(34)
  288. PRINT #1, "Menu$(2) = "; CHR$(34); "≤ 2 ≥  "; item$(2); CHR$(34)
  289. PRINT #1, "Menu$(3) = "; CHR$(34); "≤ 3 ≥  "; item$(3); CHR$(34)
  290. PRINT #1, "Menu$(4) = "; CHR$(34); "≤ 4 ≥  "; item$(4); CHR$(34)
  291. PRINT #1, "Menu$(5) = "; CHR$(34); "≤ 5 ≥  "; item$(5); CHR$(34)
  292. PRINT #1, "X = (56 - LEN(Menu$)) / 2"
  293. PRINT #1, "FOR SET = 1 TO 5"
  294. PRINT #1, "LOCATE SET + 8, 22: COLOR 15, 0: PRINT TAB(X); Menu$(SET): COLOR 7, 0"
  295. PRINT #1, "NEXT"
  296. NumberDo
  297. FOR number% = 1 TO 5
  298. PRINT #1, "CASE "; CHR$(34); LTRIM$(STR$(number%)); CHR$(34); ":"
  299. NEXT
  300. PRINT #1, "END SELECT"
  301. CLOSE #1
  302. Opener
  303.  
  304. END SUB
  305.  
  306. SUB Lines5
  307. DIM item$(6)
  308. TopLine
  309. LOCATE 11, 20: LINE INPUT " ≤ 1 ≥          "; item$(1)
  310. LOCATE 12, 20: LINE INPUT " ≤ 2 ≥          "; item$(2)
  311. LOCATE 13, 20: LINE INPUT " ≤ 3 ≥          "; item$(3)
  312. LOCATE 14, 20: LINE INPUT " ≤ 4 ≥          "; item$(4)
  313. LOCATE 15, 20: LINE INPUT " ≤ 5 ≥          "; item$(5)
  314. LOCATE 16, 20: LINE INPUT " ≤ 6 ≥          "; item$(6)
  315. Disksave
  316. PRINT #1, "DIM Menu$(6)"
  317. PRINT #1, "Menu$(1) = "; CHR$(34); "≤ 1 ≥  "; item$(1); CHR$(34)
  318. PRINT #1, "Menu$(2) = "; CHR$(34); "≤ 2 ≥  "; item$(2); CHR$(34)
  319. PRINT #1, "Menu$(3) = "; CHR$(34); "≤ 3 ≥  "; item$(3); CHR$(34)
  320. PRINT #1, "Menu$(4) = "; CHR$(34); "≤ 4 ≥  "; item$(4); CHR$(34)
  321. PRINT #1, "Menu$(5) = "; CHR$(34); "≤ 5 ≥  "; item$(5); CHR$(34)
  322. PRINT #1, "Menu$(6) = "; CHR$(34); "≤ 6 ≥  "; item$(6); CHR$(34)
  323. PRINT #1, "X = (56 - LEN(Menu$)) / 2"
  324. PRINT #1, "FOR SET = 1 TO 6"
  325. PRINT #1, "LOCATE SET + 8, 22: COLOR 15, 0: PRINT TAB(X); Menu$(SET): COLOR 7, 0"
  326. PRINT #1, "NEXT"
  327. NumberDo
  328. FOR number% = 1 TO 6
  329. PRINT #1, "CASE "; CHR$(34); LTRIM$(STR$(number%)); CHR$(34); ":"
  330. NEXT
  331. PRINT #1, "END SELECT"
  332. CLOSE #1
  333. Opener
  334.  
  335. END SUB
  336.  
  337. SUB Lines6
  338. DIM item$(7)
  339. TopLine
  340. LOCATE 11, 20: LINE INPUT " ≤ 1 ≥          "; item$(1)
  341. LOCATE 12, 20: LINE INPUT " ≤ 2 ≥          "; item$(2)
  342. LOCATE 13, 20: LINE INPUT " ≤ 3 ≥          "; item$(3)
  343. LOCATE 14, 20: LINE INPUT " ≤ 4 ≥          "; item$(4)
  344. LOCATE 15, 20: LINE INPUT " ≤ 5 ≥          "; item$(5)
  345. LOCATE 16, 20: LINE INPUT " ≤ 6 ≥          "; item$(6)
  346. LOCATE 17, 20: LINE INPUT " ≤ 7 ≥          "; item$(7)
  347. Disksave
  348. PRINT #1, "DIM Menu$(7)"
  349. PRINT #1, "Menu$(1) = "; CHR$(34); "≤ 1 ≥  "; item$(1); CHR$(34)
  350. PRINT #1, "Menu$(2) = "; CHR$(34); "≤ 2 ≥  "; item$(2); CHR$(34)
  351. PRINT #1, "Menu$(3) = "; CHR$(34); "≤ 3 ≥  "; item$(3); CHR$(34)
  352. PRINT #1, "Menu$(4) = "; CHR$(34); "≤ 4 ≥  "; item$(4); CHR$(34)
  353. PRINT #1, "Menu$(5) = "; CHR$(34); "≤ 5 ≥  "; item$(5); CHR$(34)
  354. PRINT #1, "Menu$(6) = "; CHR$(34); "≤ 6 ≥  "; item$(6); CHR$(34)
  355. PRINT #1, "Menu$(7) = "; CHR$(34); "≤ 7 ≥  "; item$(7); CHR$(34)
  356. PRINT #1, "X = (56 - LEN(Menu$)) / 2"
  357. PRINT #1, "FOR SET = 1 TO 7"
  358. PRINT #1, "LOCATE SET + 8, 22: COLOR 15, 0: PRINT TAB(X); Menu$(SET): COLOR 7, 0"
  359. PRINT #1, "NEXT"
  360. NumberDo
  361. FOR number% = 1 TO 7
  362. PRINT #1, "CASE "; CHR$(34); LTRIM$(STR$(number%)); CHR$(34); ":"
  363. NEXT
  364. PRINT #1, "END SELECT"
  365. CLOSE #1
  366. Opener
  367. END SUB
  368.  
  369. SUB Lines7
  370. DIM item$(8)
  371. TopLine
  372. LOCATE 11, 20: LINE INPUT " ≤ 1 ≥          "; item$(1)
  373. LOCATE 12, 20: LINE INPUT " ≤ 2 ≥          "; item$(2)
  374. LOCATE 13, 20: LINE INPUT " ≤ 3 ≥          "; item$(3)
  375. LOCATE 14, 20: LINE INPUT " ≤ 4 ≥          "; item$(4)
  376. LOCATE 15, 20: LINE INPUT " ≤ 5 ≥          "; item$(5)
  377. LOCATE 16, 20: LINE INPUT " ≤ 6 ≥          "; item$(6)
  378. LOCATE 17, 20: LINE INPUT " ≤ 7 ≥          "; item$(7)
  379. LOCATE 18, 20: LINE INPUT " ≤ 8 ≥          "; item$(8)
  380. Disksave
  381. PRINT #1, "DIM Menu$(8)"
  382. PRINT #1, "Menu$(1) = "; CHR$(34); "≤ 1 ≥  "; item$(1); CHR$(34)
  383. PRINT #1, "Menu$(2) = "; CHR$(34); "≤ 2 ≥  "; item$(2); CHR$(34)
  384. PRINT #1, "Menu$(3) = "; CHR$(34); "≤ 3 ≥  "; item$(3); CHR$(34)
  385. PRINT #1, "Menu$(4) = "; CHR$(34); "≤ 4 ≥  "; item$(4); CHR$(34)
  386. PRINT #1, "Menu$(5) = "; CHR$(34); "≤ 5 ≥  "; item$(5); CHR$(34)
  387. PRINT #1, "Menu$(6) = "; CHR$(34); "≤ 6 ≥  "; item$(6); CHR$(34)
  388. PRINT #1, "Menu$(7) = "; CHR$(34); "≤ 7 ≥  "; item$(7); CHR$(34)
  389. PRINT #1, "Menu$(8) = "; CHR$(34); "≤ 8 ≥  "; item$(8); CHR$(34)
  390. PRINT #1, "X = (56 - LEN(Menu$)) / 2"
  391. PRINT #1, "FOR SET = 1 TO 8"
  392. PRINT #1, "LOCATE SET + 8, 22: COLOR 15, 0: PRINT TAB(X); Menu$(SET): COLOR 7, 0"
  393. PRINT #1, "NEXT"
  394. NumberDo
  395. FOR number% = 1 TO 8
  396. PRINT #1, "CASE "; CHR$(34); LTRIM$(STR$(number%)); CHR$(34); ":"
  397. NEXT
  398. PRINT #1, "END SELECT"
  399. CLOSE #1
  400. Opener
  401.  
  402. END SUB
  403.  
  404. SUB Lines8
  405. DIM item$(9)
  406.  
  407. TopLine
  408. LOCATE 11, 20: LINE INPUT " ≤ 1 ≥          "; item$(1)
  409. LOCATE 12, 20: LINE INPUT " ≤ 2 ≥          "; item$(2)
  410. LOCATE 13, 20: LINE INPUT " ≤ 3 ≥          "; item$(3)
  411. LOCATE 14, 20: LINE INPUT " ≤ 4 ≥          "; item$(4)
  412. LOCATE 15, 20: LINE INPUT " ≤ 5 ≥          "; item$(5)
  413. LOCATE 16, 20: LINE INPUT " ≤ 6 ≥          "; item$(6)
  414. LOCATE 17, 20: LINE INPUT " ≤ 7 ≥          "; item$(7)
  415. LOCATE 18, 20: LINE INPUT " ≤ 8 ≥          "; item$(8)
  416. LOCATE 19, 20: LINE INPUT " ≤ 9 ≥          "; item$(9)
  417. Disksave
  418. PRINT #1, "DIM Menu$(9)"
  419. PRINT #1, "Menu$(1) = "; CHR$(34); "≤ 1 ≥  "; item$(1); CHR$(34)
  420. PRINT #1, "Menu$(2) = "; CHR$(34); "≤ 2 ≥  "; item$(2); CHR$(34)
  421. PRINT #1, "Menu$(3) = "; CHR$(34); "≤ 3 ≥  "; item$(3); CHR$(34)
  422. PRINT #1, "Menu$(4) = "; CHR$(34); "≤ 4 ≥  "; item$(4); CHR$(34)
  423. PRINT #1, "Menu$(5) = "; CHR$(34); "≤ 5 ≥  "; item$(5); CHR$(34)
  424. PRINT #1, "Menu$(6) = "; CHR$(34); "≤ 6 ≥  "; item$(6); CHR$(34)
  425. PRINT #1, "Menu$(7) = "; CHR$(34); "≤ 7 ≥  "; item$(7); CHR$(34)
  426. PRINT #1, "Menu$(8) = "; CHR$(34); "≤ 8 ≥  "; item$(8); CHR$(34)
  427. PRINT #1, "Menu$(9) = "; CHR$(34); "≤ 9 ≥  "; item$(9); CHR$(34)
  428. PRINT #1, "X = (56 - LEN(Menu$)) / 2"
  429. PRINT #1, "FOR SET = 1 TO 9"
  430. PRINT #1, "LOCATE SET + 8, 22: COLOR 15, 0: PRINT TAB(X); Menu$(SET): COLOR 7, 0"
  431. PRINT #1, "NEXT"
  432. NumberDo
  433. FOR number% = 1 TO 9
  434. PRINT #1, "CASE "; CHR$(34); LTRIM$(STR$(number%)); CHR$(34); ":"
  435. NEXT
  436. PRINT #1, "END SELECT"
  437. CLOSE #1
  438. Opener
  439. END SUB
  440.  
  441. SUB Menulines
  442. LOCATE 7, 20: INPUT "HOW MANY MENU ITEMS (LIMIT: 2 TO 9) "; menuitem$
  443. IF menuitem$ = "2" THEN
  444. Lines1
  445. ELSEIF menuitem$ = "3" THEN
  446. Lines2
  447. ELSEIF menuitem$ = "4" THEN
  448. Lines3
  449. ELSEIF menuitem$ = "5" THEN
  450. Lines4
  451. ELSEIF menuitem$ = "6" THEN
  452. Lines5
  453. ELSEIF menuitem$ = "7" THEN
  454. Lines6
  455. ELSEIF menuitem$ = "9" THEN
  456. Lines8
  457. END IF
  458.  
  459. END SUB
  460.  
  461. SUB Namer
  462. CLS
  463. ON ERROR GOTO Handler
  464. LOCATE 10, 20: LINE INPUT "NEW NAME FOR TESTMENU.BAS:   "; Newname$
  465. NAME "TESTMENU.BAS" AS Newname$
  466. LOCATE 12, 20: PRINT "   TESTMENU.BAS RENAMED AS "; Newname$
  467. SLEEP 10
  468. Opener
  469. END SUB
  470.  
  471. SUB NumberDo
  472. LOCATE 21, 20: LINE INPUT "NUMBER OF MENU ITEMS AGAIN, PLEASE  "; menuitem$
  473. IF menuitem$ = "2" THEN
  474. X$ = "12"
  475. ELSEIF menuitem$ = "3" THEN
  476. X$ = "123"
  477. ELSEIF menuitem$ = "4" THEN
  478. X$ = "1234"
  479. ELSEIF menuitem$ = "5" THEN
  480. X$ = "12345"
  481. ELSEIF menuitem$ = "6" THEN
  482. X$ = "123456"
  483. ELSEIF menuitem$ = "7" THEN
  484. X$ = "1234567"
  485. ELSEIF menuitem$ = "8" THEN
  486. X$ = "12345678"
  487. ELSEIF menuitem$ = "9" THEN
  488. X$ = "123456789"
  489. END IF
  490. PRINT #1, "DO: opt$ = Input$(1)"
  491. PRINT #1, "LOOP WHILE INSTR("; CHR$(34); X$; CHR$(34); ", opt$) = 0"
  492. PRINT #1, "SELECT CASE opt$"
  493. END SUB
  494.  
  495. SUB Opener
  496. CLS
  497. LOCATE 2, 20: PRINT STRING$(40, 15)
  498. FOR SIDE = 3 TO 21
  499. LOCATE SIDE, 20: PRINT CHR$(15); SPACE$(38); CHR$(15)
  500. NEXT
  501. LOCATE 22, 20: PRINT STRING$(40, 15)
  502. I = (62 - LEN(title$)) / 2
  503. LOCATE 4, 22: COLOR 15, 0: PRINT TAB(I); "MENUMAN OPTIONS": COLOR 7, 0
  504. DIM Menu$(4)
  505. Menu$(1) = "≤ 1 ≥  KILL TESTMENU.BAS"
  506. Menu$(2) = "≤ 2 ≥  RENAME TESTMENU.BAS"
  507. Menu$(3) = "≤ 3 ≥  CONTINUE MENUMAN"
  508. Menu$(4) = "≤ 4 ≥  EXIT MENUMAN"
  509. X = (56 - LEN(Menu$)) / 2
  510. FOR SET = 1 TO 4
  511. LOCATE SET + 8, 22: COLOR 15, 0: PRINT TAB(X); Menu$(SET): COLOR 7, 0
  512. NEXT
  513. DO: opt$ = INPUT$(1)
  514. LOOP WHILE INSTR("1234", opt$) = 0
  515. SELECT CASE opt$
  516. CASE "1": Killer
  517. CASE "2": Namer
  518. CASE "3": Boxstuff
  519. CASE "4": Directions
  520. END SELECT
  521.  
  522. END SUB
  523.  
  524. SUB Save1
  525. Disksave
  526. PRINT #1, "CLS"
  527. PRINT #1, "LOCATE 2, 20: PRINT CHR$(201); STRING$(38, 205); CHR$(187)"
  528. PRINT #1, "FOR SIDE = 3 TO 21"
  529. PRINT #1, "LOCATE SIDE, 20: PRINT CHR$(186); SPACE$(38); CHR$(186)"
  530. PRINT #1, "NEXT"
  531. PRINT #1, "LOCATE 22, 20: PRINT CHR$(200); STRING$(38, 205); CHR$(188)"
  532. CLOSE #1
  533. Labeler
  534. END SUB
  535.  
  536. SUB Save2
  537. Disksave
  538. PRINT #1, "CLS"
  539. PRINT #1, "LOCATE 2, 20: PRINT STRING$(40, 220)"
  540. PRINT #1, "FOR SIDE = 3 TO 21"
  541. PRINT #1, "LOCATE SIDE, 20: PRINT CHR$(219); SPACE$(38); CHR$(219)"
  542. PRINT #1, "NEXT"
  543. PRINT #1, "LOCATE 22, 20: PRINT STRING$(40, 223)"
  544. CLOSE #1
  545. Labeler
  546. END SUB
  547.  
  548. SUB Save3
  549. Disksave
  550. PRINT #1, "CLS"
  551. PRINT #1, "LOCATE 2, 20: PRINT STRING$(40, 15)"
  552. PRINT #1, "FOR SIDE = 3 TO 21"
  553. PRINT #1, "LOCATE SIDE, 20: PRINT CHR$(15); SPACE$(38); CHR$(15)"
  554. PRINT #1, "NEXT"
  555. PRINT #1, "LOCATE 22, 20: PRINT STRING$(40, 15)"
  556. CLOSE #1
  557. Labeler
  558. END SUB
  559.  
  560. SUB Save4
  561. Disksave
  562. PRINT #1, "CLS"
  563. PRINT #1, "LOCATE 2, 20: PRINT STRING$(40, 153)"
  564. PRINT #1, "FOR SIDE = 3 TO 21"
  565. PRINT #1, "LOCATE SIDE, 20: PRINT CHR$(153); SPACE$(38); CHR$(153)"
  566. PRINT #1, "NEXT"
  567. PRINT #1, "LOCATE 22, 20: PRINT STRING$(40, 153)"
  568. CLOSE #1
  569. Labeler
  570. END SUB
  571.  
  572. SUB Save5
  573. Disksave
  574. PRINT #1, "CLS"
  575. PRINT #1, "LOCATE 2, 20: PRINT STRING$(40, 128)"
  576. PRINT #1, "FOR SIDE = 3 TO 21"
  577. PRINT #1, "LOCATE SIDE, 20: PRINT CHR$(128); SPACE$(38); CHR$(128)"
  578. PRINT #1, "NEXT"
  579. PRINT #1, "LOCATE 22, 20: PRINT STRING$(40, 128)"
  580. CLOSE #1
  581. Labeler
  582. END SUB
  583.  
  584. SUB Save6
  585. Disksave
  586. PRINT #1, "CLS"
  587. PRINT #1, "LOCATE 2, 20: PRINT STRING$(40, 63)"
  588. PRINT #1, "FOR SIDE = 3 TO 21"
  589. PRINT #1, "LOCATE SIDE, 20: PRINT CHR$(63); SPACE$(38); CHR$(168)"
  590. PRINT #1, "NEXT"
  591. PRINT #1, "LOCATE 22, 20: PRINT STRING$(40, 168)"
  592. CLOSE #1
  593. Labeler
  594. END SUB
  595.  
  596. SUB Save7
  597. Disksave
  598. PRINT #1, "CLS"
  599. PRINT #1, "LOCATE 2, 20: PRINT STRING$(40, 47)"
  600. PRINT #1, "FOR SIDE = 3 TO 21"
  601. PRINT #1, "LOCATE SIDE, 20: PRINT CHR$(92); SPACE$(38); CHR$(47)"
  602. PRINT #1, "NEXT"
  603. PRINT #1, "LOCATE 22, 20: PRINT STRING$(40, 92)"
  604. CLOSE #1
  605. Labeler
  606. END SUB
  607.  
  608. SUB Save8
  609. Disksave
  610. PRINT #1, "CLS"
  611. PRINT #1, "LOCATE 2, 20: PRINT STRING$(40, 35)"
  612. PRINT #1, "FOR SIDE = 3 TO 21"
  613. PRINT #1, "LOCATE SIDE, 20: PRINT CHR$(35); SPACE$(38); CHR$(35)"
  614. PRINT #1, "NEXT"
  615. PRINT #1, "LOCATE 22, 20: PRINT STRING$(40, 35)"
  616. CLOSE #1
  617. Labeler
  618. END SUB
  619.  
  620. SUB TopLine
  621. LOCATE 9, 20: COLOR 0, 15: PRINT " ITEM #         YOUR ENTRY    BOX EDGE  ": COLOR 15, 0
  622. END SUB
  623.  
  624.